#ifndef _PROCESSOR_ 
#define _PROCESSOR_ 

#include <iostream>
#include "../comlink/linkcontrol/linkcontrol.h"


class Processor
{
  unsigned int uint32_PhysicalAddress;
  unsigned int uint32_FinalLabel;
  bool b_Pixel;

  LinkControl * control;

public:
  Processor(void);
  ~Processor(void);

  bool * GetSouthLink(void);
  bool * GetSouthEastLink(void);
  bool * GetSouthWestLink(void);
  bool * GetEastLink(void);

  void ClockProcessor(void);
  bool ProcessorComplete(void);

  void SetAddress(unsigned int address);
  void SetPixel(bool value);
  void SetPhysicalLinks(bool * physicalLinks[8]);

  unsigned int GetFinalLabel(void);
  bool GetPixelValue(void);

  void PrintActiveLinks(void);
};

#endif
